package com.cskaoyan.javase.object._7wrapper._1basic;

/**
 * 自身成员特点
 *
 * 普遍来说，所有的包装类的自身成员都具有以下特点：
 * 1.每个数值类型的包装类型中，都会存放该类型的最大值、最小值以及所占位数等等常量。其中整型包装类型的最值会比较常用。
 *
 * 2.包装类作为基本数据类型对应的引用数据类型，提供了一系列实用的对象操作，如类型转换，进制转换等。
 *    比较典型就是以下方法：
 *    1. 把String字符串转换成各种基本数据类型，普遍使用包装类型类名.parseXxx("字符串数值")
 *       其中Xxx是对应基本数据类型
 *       比如：
 *       String --> int，使用Integer.parseInt("123")
 *       String --> double，使用Double.parseDouble("0.1");
 *    2. 特别要注意:
 *       String --> char，需要使用String类自身的成员方法charAt(下标)
 *
 * @since 09:37
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // byte + 1 = int 所以结果是128
        System.out.println(Byte.MAX_VALUE + 1);
        System.out.println(((byte) (Byte.MAX_VALUE + 1)));

        System.out.println(Short.MAX_VALUE + 1);
        System.out.println(Character.MAX_VALUE + 1);
        System.out.println(Character.MAX_VALUE);
        // Numeric overflow in expression
        System.out.println(Integer.MAX_VALUE + 1);

        // Numeric overflow in expression
        System.out.println(Long.MAX_VALUE + 1);

        // String --> int
        System.out.println(Integer.parseInt("123"));
        // String --> double
        System.out.println(Double.parseDouble("0.1"));
        // String --> boolean
        System.out.println(Boolean.parseBoolean("true"));

        // String --> char 需要使用String类的方法charAt(下标)
        // Character.parseChar
        String str = "a";
        System.out.println(str.charAt(0));
    }
}
